#include <iostream>
using namespace std;
typedef long long LL;
const int N = 20;
int p[N];
int n, m;

int main()
{
    cin >> n >> m;
    for (int i = 0; i < m; ++i)
        cin >> p[i];
    // 利用位运算的性质
    // 容斥原理中所涉及到的状态一共有2^m-1
    // 可以通过观察每一位是否为1判断是否被选取
    // 奇数个表示＋，偶数位表示减
    int res = 0;
    for (int i = 1; i < 1 << m; ++i)
    {
        int t = 1, cnt = 0;
        // 找出该状态下所有除数的乘积
        for (int j = 0; j < m; ++j)
        {
            if (i >> j & 1)
            {
                cnt++;
                if ((LL)t * p[j] > n)
                {
                    t = -1;
                    break;
                }
                t *= p[j];
            }
        }
        if (t != -1)
        {
            if (cnt % 2)
                res += n / t;
            else
                res -= n / t;
        }
    }
    cout << res << endl;
    return 0;
}
